<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OpenLoong Dynamics Control: DataLogger Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">OpenLoong Dynamics Control
   &#160;<span id="projectnumber">v0.1.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classDataLogger-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">DataLogger Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>This class is a helper class to record the data.  
 <a href="classDataLogger.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="data__logger_8h_source.html">data_logger.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af284c7479597c605071d0a98cbe28f11"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDataLogger.html#af284c7479597c605071d0a98cbe28f11">DataLogger</a> (std::string fileNameIn)</td></tr>
<tr class="memdesc:af284c7479597c605071d0a98cbe28f11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a new Data Logger object.  <a href="classDataLogger.html#af284c7479597c605071d0a98cbe28f11">More...</a><br /></td></tr>
<tr class="separator:af284c7479597c605071d0a98cbe28f11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac106150d369e0d8583a527ee9b9d2ea8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDataLogger.html#ac106150d369e0d8583a527ee9b9d2ea8">addIterm</a> (const std::string &amp;name, const int &amp;len)</td></tr>
<tr class="memdesc:ac106150d369e0d8583a527ee9b9d2ea8"><td class="mdescLeft">&#160;</td><td class="mdescRight">add a record iterm, used to setup record content  <a href="classDataLogger.html#ac106150d369e0d8583a527ee9b9d2ea8">More...</a><br /></td></tr>
<tr class="separator:ac106150d369e0d8583a527ee9b9d2ea8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2c6107c9bf68f77c3ac6ff38f08b8dc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDataLogger.html#ad2c6107c9bf68f77c3ac6ff38f08b8dc">finishItermAdding</a> ()</td></tr>
<tr class="memdesc:ad2c6107c9bf68f77c3ac6ff38f08b8dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">finish setup  <a href="classDataLogger.html#ad2c6107c9bf68f77c3ac6ff38f08b8dc">More...</a><br /></td></tr>
<tr class="separator:ad2c6107c9bf68f77c3ac6ff38f08b8dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2770688034db114a11b89c2ff8bdb855"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDataLogger.html#a2770688034db114a11b89c2ff8bdb855">startNewLine</a> ()</td></tr>
<tr class="memdesc:a2770688034db114a11b89c2ff8bdb855"><td class="mdescLeft">&#160;</td><td class="mdescRight">start a new data-record line  <a href="classDataLogger.html#a2770688034db114a11b89c2ff8bdb855">More...</a><br /></td></tr>
<tr class="separator:a2770688034db114a11b89c2ff8bdb855"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67e5c12897b4094b1e9eaa5f1d5b4b1f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDataLogger.html#a67e5c12897b4094b1e9eaa5f1d5b4b1f">recItermData</a> (const std::string &amp;name, double *dataIn)</td></tr>
<tr class="memdesc:a67e5c12897b4094b1e9eaa5f1d5b4b1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">record data in double array  <a href="classDataLogger.html#a67e5c12897b4094b1e9eaa5f1d5b4b1f">More...</a><br /></td></tr>
<tr class="separator:a67e5c12897b4094b1e9eaa5f1d5b4b1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c6980a2ba84f352c8d64d0ee49358d4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDataLogger.html#a6c6980a2ba84f352c8d64d0ee49358d4">recItermData</a> (const std::string &amp;name, double dataIn)</td></tr>
<tr class="memdesc:a6c6980a2ba84f352c8d64d0ee49358d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">record data in double  <a href="classDataLogger.html#a6c6980a2ba84f352c8d64d0ee49358d4">More...</a><br /></td></tr>
<tr class="separator:a6c6980a2ba84f352c8d64d0ee49358d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a356d2d9a5bea8acca229c451c32cad03"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDataLogger.html#a356d2d9a5bea8acca229c451c32cad03">recItermData</a> (const std::string &amp;name, const Eigen::VectorXd &amp;dataIn)</td></tr>
<tr class="memdesc:a356d2d9a5bea8acca229c451c32cad03"><td class="mdescLeft">&#160;</td><td class="mdescRight">record data in Eigen::VectorXd type  <a href="classDataLogger.html#a356d2d9a5bea8acca229c451c32cad03">More...</a><br /></td></tr>
<tr class="separator:a356d2d9a5bea8acca229c451c32cad03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a700069837e9d2aa78aa4787ba6bd9500"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDataLogger.html#a700069837e9d2aa78aa4787ba6bd9500">recItermData</a> (const std::string &amp;name, const std::vector&lt; double &gt; &amp;dataIn)</td></tr>
<tr class="memdesc:a700069837e9d2aa78aa4787ba6bd9500"><td class="mdescLeft">&#160;</td><td class="mdescRight">record data in std::vector type  <a href="classDataLogger.html#a700069837e9d2aa78aa4787ba6bd9500">More...</a><br /></td></tr>
<tr class="separator:a700069837e9d2aa78aa4787ba6bd9500"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2148c451c86c97c5ff08584512e01056"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDataLogger.html#a2148c451c86c97c5ff08584512e01056">finishLine</a> ()</td></tr>
<tr class="memdesc:a2148c451c86c97c5ff08584512e01056"><td class="mdescLeft">&#160;</td><td class="mdescRight">finish a data-record line  <a href="classDataLogger.html#a2148c451c86c97c5ff08584512e01056">More...</a><br /></td></tr>
<tr class="separator:a2148c451c86c97c5ff08584512e01056"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This class is a helper class to record the data. </p>
<p>Data log class based on Quill (<a href="https://github.com/odygrd/quill">https://github.com/odygrd/quill</a>). It will generate a DataLogger.log file and a matlabReadDataScript.txt. In this txt, it gives the info about correlated column indexes of each recorded variable. It is recommended to use Matlab to read the log file, and use the content of the txt file to extract the recorded variable. </p>

<p class="definition">Definition at line <a class="el" href="data__logger_8h_source.html#l00027">27</a> of file <a class="el" href="data__logger_8h_source.html">data_logger.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="af284c7479597c605071d0a98cbe28f11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af284c7479597c605071d0a98cbe28f11">&#9670;&nbsp;</a></span>DataLogger()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DataLogger::DataLogger </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>fileNameIn</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Construct a new Data Logger object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fileNameIn</td><td>the file to record data </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="data__logger_8cpp_source.html#l00010">10</a> of file <a class="el" href="data__logger_8cpp_source.html">data_logger.cpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ac106150d369e0d8583a527ee9b9d2ea8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac106150d369e0d8583a527ee9b9d2ea8">&#9670;&nbsp;</a></span>addIterm()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DataLogger::addIterm </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>add a record iterm, used to setup record content </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>iterm name </td></tr>
    <tr><td class="paramname">len</td><td>iterm length (how many ints?) </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="data__logger_8cpp_source.html#l00022">22</a> of file <a class="el" href="data__logger_8cpp_source.html">data_logger.cpp</a>.</p>

</div>
</div>
<a id="ad2c6107c9bf68f77c3ac6ff38f08b8dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2c6107c9bf68f77c3ac6ff38f08b8dc">&#9670;&nbsp;</a></span>finishItermAdding()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DataLogger::finishItermAdding </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>finish setup </p>

<p class="definition">Definition at line <a class="el" href="data__logger_8cpp_source.html#l00035">35</a> of file <a class="el" href="data__logger_8cpp_source.html">data_logger.cpp</a>.</p>

</div>
</div>
<a id="a2148c451c86c97c5ff08584512e01056"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2148c451c86c97c5ff08584512e01056">&#9670;&nbsp;</a></span>finishLine()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DataLogger::finishLine </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>finish a data-record line </p>

<p class="definition">Definition at line <a class="el" href="data__logger_8cpp_source.html#l00114">114</a> of file <a class="el" href="data__logger_8cpp_source.html">data_logger.cpp</a>.</p>

</div>
</div>
<a id="a356d2d9a5bea8acca229c451c32cad03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a356d2d9a5bea8acca229c451c32cad03">&#9670;&nbsp;</a></span>recItermData() <span class="overload">[1/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DataLogger::recItermData </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Eigen::VectorXd &amp;&#160;</td>
          <td class="paramname"><em>dataIn</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>record data in Eigen::VectorXd type </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>data iterm name </td></tr>
    <tr><td class="paramname">dataIn</td><td>data </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="data__logger_8cpp_source.html#l00086">86</a> of file <a class="el" href="data__logger_8cpp_source.html">data_logger.cpp</a>.</p>

</div>
</div>
<a id="a700069837e9d2aa78aa4787ba6bd9500"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a700069837e9d2aa78aa4787ba6bd9500">&#9670;&nbsp;</a></span>recItermData() <span class="overload">[2/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DataLogger::recItermData </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>dataIn</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>record data in std::vector type </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>data iterm name </td></tr>
    <tr><td class="paramname">dataIn</td><td>data </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="data__logger_8cpp_source.html#l00100">100</a> of file <a class="el" href="data__logger_8cpp_source.html">data_logger.cpp</a>.</p>

</div>
</div>
<a id="a67e5c12897b4094b1e9eaa5f1d5b4b1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a67e5c12897b4094b1e9eaa5f1d5b4b1f">&#9670;&nbsp;</a></span>recItermData() <span class="overload">[3/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DataLogger::recItermData </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>dataIn</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>record data in double array </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>data iterm name </td></tr>
    <tr><td class="paramname">dataIn</td><td>data </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="data__logger_8cpp_source.html#l00058">58</a> of file <a class="el" href="data__logger_8cpp_source.html">data_logger.cpp</a>.</p>

</div>
</div>
<a id="a6c6980a2ba84f352c8d64d0ee49358d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c6980a2ba84f352c8d64d0ee49358d4">&#9670;&nbsp;</a></span>recItermData() <span class="overload">[4/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DataLogger::recItermData </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>dataIn</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>record data in double </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>data iterm name </td></tr>
    <tr><td class="paramname">dataIn</td><td>data </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="data__logger_8cpp_source.html#l00072">72</a> of file <a class="el" href="data__logger_8cpp_source.html">data_logger.cpp</a>.</p>

</div>
</div>
<a id="a2770688034db114a11b89c2ff8bdb855"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2770688034db114a11b89c2ff8bdb855">&#9670;&nbsp;</a></span>startNewLine()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void DataLogger::startNewLine </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>start a new data-record line </p>

<p class="definition">Definition at line <a class="el" href="data__logger_8cpp_source.html#l00053">53</a> of file <a class="el" href="data__logger_8cpp_source.html">data_logger.cpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="data__logger_8h_source.html">data_logger.h</a></li>
<li><a class="el" href="data__logger_8cpp_source.html">data_logger.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
